A multi-processor computing system may include multiple computer processors which may work together on a program or operation. Each processor may access the same data or instructions repeatedly. To increase the bandwidth of the multi-processor computing system, each processor may have its own cache which is separate from a shared main memory of the multi-processor computing system. The shared main memory may be slower than the cache, and each processor can store as much information as possible stored in its cache to avoid accessing the shared main memory.